package com.shujia.extends_.exer1;

public class Cat extends Animal {

    private String color;


    public Cat() {
        /*
         super是父类的对象引用, 父类对象也是通过构造方法返回
         有一行隐藏的代码
         super();
         如果手动的调用了父类的构造方法, 隐藏的super();就不存在
         因为一个子类对象只能有一个父类对象, 只会调用一次构造方法
         super调用父类的构造方法, 只能选择其中一个, 并且只能在代码的第一样
         */
//        super();
        // super("小红");

        // 调用自己的构造方法, 在当前的构造方法默认的super()就不调用
        // 虽然自己没有调用父类的构造方法,

        // super() 不行的, super和this 互斥
        // super();

        this("黑色"); // 必须也要在代码的第一行

        System.out.println(111);


        // 使用super
        super.sleep();

        System.out.println(super.age);

        // 构造方法里面可以使用this, super
        System.out.println(this);
        System.out.println(super.age);
    }

    public Cat(String color) {
        super();
        this.color = color;
    }
}
